The present invention relates to a pulse interpolator in a numerical control system, and in particular, relates to a pulse interpolator in which a slow speed circuit can provide high speed interpolation pulses.
Pulse interpolators are utilized in, for instance, N.C. (Numerical Control) systems, graph plotters, and/or machines for automatic drawing.
A prior pulse interpolator operated on the principle of D.D.A. (Digital Differential Analyzer), which has a first or integrand register (IR), a second or remainder register (RR), and an adder. Every time an input instruction pulse is applied to the D.D.A. system the content of the register (RR) and the content of the register (IR) are added in said adder, and the sum is stored in the register (RR) again. If the register (RR) overflows during the addition, the overflow pulse operates as an interpolation pulse. An interpolation pulse thus obtained is applied to a drive circuit for moving a bit, a pen etc. Supposing that the initial content of the integrand register (IR) is (a) and the number of input instruction pulses in (T) seconds is 2.sup.n (where n is the number of bits of the integrand register), then the number of the overflow pulses (interpolation pulses) obtained in (T) seconds is (a). That is to say, a train of interpolation pulses, the frequency or the speed of which relates to the value (a) in the integrand register, is obtained.
Now, the practical prior pulse interpolator is explained in accordance with FIG. 1 and FIG. 2 to facilitate understanding of the present invention.
Supposing that the point P moves from the point A to the point B as shown in FIG. 1, and the moving instruction in the x-direction is x.sub.mm, the moving instruction in the y-direction is y.sub.mm, and the moving speed instruction is f.sub.mm /sec.
FIG. 2 is the block-diagram of the prior interpolation system for carrying out the above interpolation. The values x and y are read from paper tape. Concerning the moving speed, the value ##EQU1## is calculated in an external device and the result (f.sub.1) is read from the paper tape. The reference numeral 10 is an interpolator for the moving speed f.sub.1, the reference numeral 11 is an interpolator for the instruction in the x-direction, 12 is an interpolator for the instruction in the y-direction, 15 is the x-axis drive motor of a machine, 16 is the y-axis drive motor of a machine, 13 is a servo-circuit for controlling the drive motor 15, 14 is a servo-circuit for controlling the drive motor 16 and 17 is a pulse generator for generating the reference pulses.
The moving instruction x read by the paper tape reader 19 is stored in the integrand register 20, the moving instruction y is stored in the integrand register 23, and the velocity instruction f.sub.1 is stored in the integrand register 26. The reference numerals 22, 24 and 27 are remainder registers, 21, 25 and 28 are adders.
When an instruction pulse is generated by the pulse generator 17, the adder 28 performs addition of the content of the integrand register 26 and the remainder register 27. The sum of the addition is re-stored in the remainder register 27, and the carry generated in that addition is provided on the output line 29 as an interpolation pulse. It should be appreciated that the number and/or the frequency of a train of interpolation pulses on the line 29 is defined by the value f.sub.1.
The interpolation pulses on the line 29 function as an instruction pulse for the interpolation circuits 11 and 12, and the adders 21 and 25 perform addition each time the interpolation pulse appears on the line 29. When the 2.sup.n number of additions are carried out by the adders 21 and 25 respectively, the interpolator 11 provides the x-number of interpolation pulses on the output line 30, and the interpolator 12 provides the y-number of interpolation pulses on the output line 31. Those interpolation pulses on the lines 30 and 31 are applied to the drive motors 15 and 16 respectively, through the servo circuits 13 and 14 respectively. Then, the motors 15 and 16 move the point P from the point A to the point B, at the velocity of f.sub.mm /second.
However, the prior interpolator shown in FIG. 2 has the disadvantages that three interpolators 10, 11 and 12 are necessary. The structure of those interpolators is complicated and their operational speed must be high. When the period of an instruction pulse is 1 .mu.m, and the moving speed is 10 m/second, the time required for a single interpolation calculation in each interpolator must be less than 10 .mu.s. As a result, an expensive, high speed digital element is necessitated for the interpolation calculation.